Cluster analysis or clustering is the task of assigning a set of objects into groups, referred to as clusters, such that the objects in a given cluster are more similar, in some defined set of features, to each other than to those in other clusters. One application of cluster analysis is document clustering, which has been investigated for use in a number of different areas of text mining and information retrieval. Initially, document clustering was investigated for improving the precision or recall in information retrieval systems and as an efficient way of finding the nearest neighbors of a document. More recently, clustering has been proposed for use in browsing a collection of documents or in organizing the results returned by a search engine in response to a user's query.